package models

import "encoding/xml"

type Resp0036 struct {
	XMLName        xml.Name `xml:"Response" json:"-"`
	ResultCode     string   `xml:"ResultCode" json:"result_code"` // 交易结果 0：成功； 非0：错误
	ReportDR       string   `xml:"ReportDR" json:"report_dr"`
	ReportName     string   `xml:"ReportName" json:"report_name"`
	ReportAuthDate string   `xml:"ReportAuthDate" json:"report_auth_date"`
}

type ResultMsg struct {
	LabNo       string `xml:"LabNo" json:"lab_no"`
	TestCode    string `xml:"TestCode" json:"test_code"`
	TestName    string `xml:"TestName" json:"test_name"`
	TestEngName string `xml:"TestEngName" json:"test_eng_name"`
	Result      string `xml:"Result" json:"result"`
	Units       string `xml:"Units" json:"units"`
	Notes       string `xml:"Notes" json:"notes"`
	ResultFlag  string `xml:"ResultFlag" json:"result_flag"`
	Ranges      string `xml:"Ranges" json:"ranges"`
	Sequence    string `xml:"Sequence" json:"sequence"`
	MICFlag     string `xml:"MICFlag" json:"mic_flag"`
	MICName     string `xml:"MICName" json:"mic_name"`
	WarnDesc    string `xml:"WarnDesc" json:"warn_desc"`
	Abnormal    string `xml:"Abnormal" json:"abnormal"`
}

type ReportMsg struct {
	OrdID         string      `xml:"OrdID" json:"ord_id"`
	LabNo         string      `xml:"LabNo" json:"lab_no"`
	SpecimenID    string      `xml:"SpecimenID" json:"specimen_id"`
	Specimen      string      `xml:"Specimen" json:"specimen"`
	ReportID      string      `xml:"ReportID" json:"report_id"`
	ReportUrl     string      `xml:"ReportUrl" json:"report_url"`
	RecUser       string      `xml:"RecUser" json:"rec_user"`
	RecUserCode   string      `xml:"RecUserCode" json:"rec_user_code"`
	RecDate       string      `xml:"RecDate" json:"rec_date"`
	RecTime       string      `xml:"RecTime" json:"rec_time"`
	EntryUser     string      `xml:"EntryUser" json:"entry_user"`
	EntryUserCode string      `xml:"EntryUserCode" json:"entry_user_code"`
	EntryDate     string      `xml:"EntryDate" json:"entry_date"`
	EntryTime     string      `xml:"EntryTime" json:"entry_time"`
	AuthUser      string      `xml:"AuthUser" json:"auth_user"`
	AuthUserCode  string      `xml:"AuthUserCode" json:"auth_user_code"`
	AuthDate      string      `xml:"AuthDate" json:"auth_date"`
	AuthTime      string      `xml:"AuthTime" json:"auth_time"`
	Notes         string      `xml:"Notes" json:"notes"`
	TestSetID     string      `xml:"TestSetID" json:"test_set_id"`
	TestSetCode   string      `xml:"TestSetCode" json:"test_set_code"`
	TestSetDesc   string      `xml:"TestSetDesc" json:"test_set_desc"`
	ImageFile     string      `xml:"ImageFile" json:"image_file"`
	MainWarnDesc  string      `xml:"MainWarnDesc" json:"main_warn_desc"`
	ResultMsgs    []ResultMsg `xml:"ResultMsgs>ResultMsg" json:"result_msgs"`
	QualityName   string      `xml:"QualityName" json:"quality_name"`
	Symptom       string      `xml:"Symptom" json:"symptom"`
	RegNo         string      `xml:"RegNo" json:"reg_no"`
	PatName       string      `xml:"PatName" json:"pat_name"`
	DoctorName    string      `xml:"DoctorName" json:"doctor_name"`
}

type Resp0037 struct {
	XMLName    xml.Name  `xml:"Response" json:"-"`
	ResultCode string    `xml:"ResultCode" json:"result_code"` // 交易结果 0：成功； 非0：错误
	ReportMsg  ReportMsg `xml:"ReportMsg" json:"report_msg"`
}

type Resp1003 struct {
	XMLName       xml.Name `xml:"Response" json:"-"`
	ResultCode    string   `xml:"ResultCode" json:"result_code"`       // 交易结果 0：成功； 非0：错误
	ResultContent string   `xml:"ResultContent" json:"result_content"` // 对错误/异常的详细描述信息
	HisTradeNo    string   `xml:"HisTradeNo" json:"his_trade_no"`      // His返回的交易流水
	ReturnFee     string   `xml:"ReturnFee" json:"return_fee"`         // 退费金额
	CanclePrtRid  string   `xml:"CanclePrtRid" json:"cancle_prt_rid"`
}

type Schedule struct {
	XMLName            xml.Name `xml:"Schedule" json:"-"`
	ScheduleItemCode   string   `xml:"ScheduleItemCode" json:"schedule_item_code"`      // 门诊排班项记录标识
	ServiceDate        string   `xml:"ServiceDate" json:"service_date"`                 // 门诊排班日期
	WeekDay            string   `xml:"WeekDay" json:"week_day"`                         // 星期数(1-7)
	SessionCode        string   `xml:"SessionCode" json:"session_code"`                 // 排班时段代码
	SessionName        string   `xml:"SessionName" json:"session_name"`                 // 排班时段名称
	StartTime          string   `xml:"StartTime" json:"start_time"`                     // 开始时间
	EndTime            string   `xml:"EndTime" json:"end_time"`                         // 结束时间
	DepartmentCode     string   `xml:"DepartmentCode" json:"department_code"`           // 科室代码
	DepartmentName     string   `xml:"DepartmentName" json:"department_name"`           // 科室名称
	ClinicRoomCode     string   `xml:"ClinicRoomCode" json:"clinic_room_code"`          // 诊室代码
	ClinicRoomName     string   `xml:"ClinicRoomName" json:"clinic_room_name"`          // 诊室名称
	DoctorCode         string   `xml:"DoctorCode" json:"doctor_code"`                   // 医生代码
	DoctorName         string   `xml:"DoctorName" json:"doctor_name"`                   // 医生名称
	DoctorTitleCode    string   `xml:"DoctorTitleCode" json:"doctor_title_code"`        // 医生职称代码
	DoctorTitle        string   `xml:"DoctorTitle" json:"doctor_title"`                 // 医生职称
	DoctorSpec         string   `xml:"DoctorSpec" json:"doctor_spec"`                   // 医生专长
	DoctorSessTypeCode string   `xml:"DoctorSessTypeCode" json:"doctor_sess_type_code"` // 出诊级别代码
	DoctorSessType     string   `xml:"DoctorSessType" json:"doctor_sess_type"`          // 出诊级别
	ServiceCode        string   `xml:"ServiceCode" json:"service_code"`                 // 专业代码
	ServiceName        string   `xml:"ServiceName" json:"service_name"`                 // 专业名称
	Fee                string   `xml:"Fee" json:"fee"`                                  // 预约挂号总费用 单位：元
	RegFee             string   `xml:"RegFee" json:"reg_fee"`                           //挂号费 单位：元
	CheckupFee         string   `xml:"CheckupFee" json:"checkup_fee"`                   // 诊查费 单位：元
	ServiceFee         string   `xml:"ServiceFee" json:"service_fee"`                   // 服务费 单位：元
	OtherFee           string   `xml:"OtherFee" json:"other_fee"`                       // 其它费 单位：元
	AvailableNumStr    string   `xml:"AvailableNumStr" json:"available_num_str"`        // 剩余号信息串
	AdmitAddress       string   `xml:"AdmitAddress" json:"admit_address"`               // 就诊地址
	AdmitTimeRange     string   `xml:"AdmitTimeRange" json:"admit_time_range"`          // 候诊时间范围
	Note               string   `xml:"Note" json:"note"`                                // 备注
	// TODO - startTime endTime
	TimeRangeFlag     string `xml:"TimeRangeFlag" json:"time_range_flag"`         // 是否有分时 0-否 1-是
	ScheduleStatus    string `xml:"ScheduleStatus" json:"schedule_status"`        // 就诊状态
	AvailableTotalNum string `xml:"AvailableTotalNum" json:"available_total_num"` // 该时段可预约的总号源数
	AvailableLeftNum  string `xml:"AvailableLeftNum" json:"available_left_num"`   // 该时段剩余号源数
	DoctorImg         string `json:"doctor_img"`
	DoctorDesc        string `json:"doctor_desc"`
}

type Resp1004 struct {
	XMLName       xml.Name   `xml:"Response" json:"-"`
	ResultCode    string     `xml:"ResultCode" json:"result_code"`       // 交易结果 0：成功； 非0：错误
	ResultContent string     `xml:"ResultContent" json:"result_content"` // 对错误/异常的详细描述信息
	RecordCount   string     `xml:"RecordCount" json:"record_count"`     // 记录数量
	Schedules     []Schedule `xml:"Schedules>Schedule" json:"schedules"`
}
type Resp1005Order struct {
	XMLName         xml.Name `xml:"Order" json:"-"`
	OrderCode       string   `xml:"OrderCode" json:"order_code"`
	OrderApptDate   string   `xml:"OrderApptDate" json:"order_appt_date"`
	OrderStatus     string   `xml:"OrderStatus" json:"order_status"`
	OrderApptUser   string   `xml:"OrderApptUser" json:"order_appt_user"`
	PatientNo       string   `xml:"PatientNo" json:"patient_no"`
	AdmitDate       string   `xml:"AdmitDate" json:"admit_date"`
	Department      string   `xml:"Department" json:"department"`
	Doctor          string   `xml:"Doctor" json:"doctor"`
	DoctorTitle     string   `xml:"DoctorTitle" json:"doctor_title"`
	RegFee          string   `xml:"RegFee" json:"reg_fee"`
	SeqCode         string   `xml:"SeqCode" json:"seq_code"`
	SessionName     string   `xml:"SessionName" json:"session_name"`
	AllowRefundFlag string   `xml:"AllowRefundFlag" json:"allow_refund_flag"`
	PayFlag         string   `xml:"PayFlag" json:"pay_flag"`
	HospitalName    string   `xml:"HospitalName" json:"hospital_name"`
}

//type Resp1005Orders struct {
//	XMLName xml.Name        `xml:"Response" json:"-"`
//	Orders  []Resp1005Order `xml:"Orders>Schedule" json:"schedules"`
//}

type Resp1005 struct {
	XMLName       xml.Name        `xml:"Response" json:"-"`
	ResultCode    string          `xml:"ResultCode" json:"result_code"`       // 交易结果 0：成功； 非0：错误
	ResultContent string          `xml:"ResultContent" json:"result_content"` // 对错误/异常的详细描述信息
	RecordCount   string          `xml:"RecordCount" json:"record_count"`     // 记录数量
	Orders        []Resp1005Order `xml:"Orders>Order" json:"Orders"`
}

type Department struct {
	XMLName            xml.Name `xml:"Department" json:"-"`
	DepartmentCode     string   `xml:"DepartmentCode" json:"department_code"`          // 科室代码
	DepartmentName     string   `xml:"DepartmentName" json:"department_name"`          // 科室名称
	ParentId           string   `xml:"ParentId" json:"parent_id"`                      // 上级科室代码,没有填-1
	Description        string   `xml:"Description" json:"description"`                 // 科室简介
	DepartmentAddress  string   `xml:"DepartmentAddress" json:"department_address"`    // 科室地理位置
	DepartmentAgeLimit string   `xml:"DepartmentAgeLimit" json:"department_age_limit"` // 挂号年龄限制
	DepartmentHospCode string   `xml:"DepartmentHospCode" json:"department_hosp_code"` // 院区代码
	DepartmentHospDesc string   `xml:"DepartmentHospDesc" json:"department_hosp_desc"` // 院区名称
}

type Resp1012 struct {
	XMLName       xml.Name     `xml:"Response" json:"-"`
	ResultCode    string       `xml:"ResultCode" json:"result_code"`       // 交易结果 0：成功； 非0：错误
	ResultContent string       `xml:"ResultContent" json:"result_content"` // 对错误/异常的详细描述信息
	RecordCount   string       `xml:"RecordCount" json:"record_count"`     // 记录数量
	Departments   []Department `xml:"Departments>Department" json:"departments"`
}

type Doctor struct {
	XMLName         xml.Name `xml:"Doctor" json:"-"`
	DoctorCode      string   `xml:"DoctorCode" json:"doctor_code"`            // 医生代码
	DoctorName      string   `xml:"DoctorName" json:"doctor_name"`            // 医生名称
	DoctorLevelCode string   `xml:"DoctorLevelCode" json:"doctor_level_code"` // 医生职称代码
	DoctorLevel     string   `xml:"DoctorLevel" json:"doctor_level"`          // 医生职称
	DeptId          string   `xml:"DeptId" json:"dept_id"`                    // 医生科室
	DeptName        string   `xml:"DeptName" json:"dept_name"`                // 医生科室名称
	Description     string   `xml:"Description" json:"description"`           // 医生简介
}

type Resp1013 struct {
	XMLName       xml.Name `xml:"Response" json:"-"`
	ResultCode    string   `xml:"ResultCode" json:"result_code"`       // 交易结果 0：成功； 非0：错误
	ResultContent string   `xml:"ResultContent" json:"result_content"` // 对错误/异常的详细描述信息
	RecordCount   string   `xml:"RecordCount" json:"record_count"`     // 记录数量
	Doctors       []Doctor `xml:"Doctors>Doctor" json:"doctors"`
}

type Resp1101 struct {
	XMLName         xml.Name `xml:"Response" json:"-"`
	TradeCode       string   `xml:"TradeCode" json:"trade_code"`
	ResultCode      string   `xml:"ResultCode" json:"result_code"`             // 交易结果 0：成功； 非0：错误
	ResultContent   string   `xml:"ResultContent" json:"result_content"`       // 对错误/异常的详细描述信息
	SeqCode         string   `xml:"SeqCode" json:"seq_code"`                   // 挂号序号
	AdmitRange      string   `xml:"AdmitRange" json:"admit_range"`             // 就诊时间段
	RegFee          string   `xml:"RegFee" json:"reg_fee"`                     // 挂号费用 His挂号的流水号，唯一标示某一个挂号订单
	AdmitAddress    string   `xml:"AdmitAddress" json:"admit_address"`         // 就诊地址
	TransactionId   string   `xml:"TransactionId" json:"transaction_id"`       // 交易流水号 His挂号的流水号，唯一标示某一个挂号订单
	AppID           string   `xml:"AppID" json:"app_id"`                       // 预约号
	PayOrderId      string   `xml:"PayOrderId" json:"pay_order_id"`            // 移动订单号
	AdmNo           string   `xml:"AdmNo" json:"adm_no"`                       // 就诊流水号，对应His就诊表RowID
	DeptName        string   `xml:"DeptName" json:"dept_name"`                 // 科室名称
	DoctorName      string   `xml:"DoctorName" json:"doctor_name"`             // 医生名称
	DoctorLevelDesc string   `xml:"DoctorLevelDesc" json:"doctor_level_desc"`  // 号别名称
	DoctorLevelCode string   `xml:"DoctorLevelCode" json:"doctor_level_code"`  // 号别代码
	ReceiptNo       string   `xml:"ReceiptNo" json:"receipt_no"`               // 发票号
	TimeRange       string   `xml:"TimeRange" json:"time_range"`               // 出诊时间 上午、下午、全天
	HisTradeOrderId string   `xml:"HisTradeOrderId" json:"his_trade_order_id"` // His缴费流水号 His内部的交易流水号，唯一标示His内的某笔交易
}

type Order struct {
	XMLName      xml.Name `xml:"Order" json:"-"`
	AdmNo        string   `xml:"AdmNo" json:"adm_no"`
	RegID        string   `xml:"RegID" json:"reg_id"`               // 挂号ID（就诊ID）
	RegDate      string   `xml:"RegDate" json:"reg_date"`           // 挂号日期
	Status       string   `xml:"Status" json:"status"`              // 状态
	PatName      string   `xml:"PatName" json:"pat_name"`           // 患者姓名
	PatientId    string   `xml:"PatientID" json:"patient_id"`       // 病人ID
	AdmitDate    string   `xml:"AdmitDate" json:"admit_date"`       // 就诊日期
	HospitalName string   `xml:"HospitalName" json:"hospital_name"` // 医院
	Department   string   `xml:"Department" json:"department"`      // 就诊科室
	Doctor       string   `xml:"Doctor" json:"doctor"`              // 医生
	DoctorTitle  string   `xml:"DoctorTitle" json:"doctor_title"`   // 医生职称
	RegFee       string   `xml:"RegFee" json:"reg_fee"`             // 总费用
	SeqCode      string   `xml:"SeqCode" json:"seq_code"`           // 就诊序号
	AdmitAddress string   `xml:"AdmitAddress" json:"admit_address"` // 候诊地点
	SessionName  string   `xml:"SessionName" json:"session_name"`   // 就诊时段
	AdmitRange   string   `xml:"AdmitRange" json:"admit_range"`     // 候诊时间
	ServiceName  string   `xml:"ServiceName" json:"service_name"`   // 专业名称
	ClientType   string   `xml:"ClientType" json:"client_type"`     // 预约客户端类型
	PrintNum     string   `xml:"PrintNum" json:"print_num"`         // 打印次数
	InsuRegInfo  string   `xml:"InsuRegInfo" json:"insu_reg_info"`  // 医保退号适用串(以&分割的N个入参)，有值时退号需调用医保注销接口
	ReturnFlag   string   `xml:"ReturnFlag" json:"return_flag"`     // 可退号标志(Y/N)
	RegisterCode string   `xml:"RegisterCode" json:"register_code"`
	RegisterName string   `xml:"RegisterName" json:"register_name"`
	Room         string   `xml:"Room" json:"room"`
}

type Resp1104 struct {
	XMLName       xml.Name `xml:"Response" json:"-"`
	ResultCode    string   `xml:"ResultCode" json:"result_code"`       // 交易结果 0：成功； 非0：错误
	ResultContent string   `xml:"ResultContent" json:"result_content"` // 对错误/异常的详细描述信息
	RecordCount   string   `xml:"RecordCount" json:"record_count"`     // 记录数量
	Orders        []Order  `xml:"Orders>Order" json:"orders"`
}

type Resp3013 struct {
	XMLName       xml.Name `xml:"Response" json:"-"` // 交易代码
	TradeCode     string   `xml:"TradeCode"`
	ResultCode    string   `xml:"ResultCode" `   // 结果标志（0–可以发卡、-1–不能发卡、-50此卡号已存在，-51已存在同类型的卡）
	ResultContent string   `xml:"ResultContent"` // 错误信息
	CardTypeCode  string   `xml:"CardTypeCode"`  // 卡类型
	PatientCard   string   `xml:"PatientCard"`
	PatientID     string   `xml:"PatientID"`
}

type Resp3014 struct {
	XMLName           xml.Name `xml:"Response" json:"-"`
	TradeCode         string   `xml:"TradeCode"`         // 交易代码
	PatientCard       string   `xml:"PatientCard"`       // 就诊卡号
	SecurityNo        string   `xml:"SecurityNo"`        // 就诊卡校验码
	PatientId         string   `xml:"PatientID"`         // 患者ID
	ResultCode        string   `xml:"ResultCode" `       // 结果标志（0–可以发卡、-1–不能发卡、-50此卡号已存在，-51已存在同类型的卡）
	ResultContent     string   `xml:"ResultContent"`     // 错误信息
	ActiveFlag        string   `xml:"ActiveFlag"`        // 是否需要激活标志 (0—不需要激活就能正常使用；1—存在多个患者ID，需要激活后才能在医使用；2—医保患者身份需确认、激活后才能在医使用；)
	TransactionId     string   `xml:"TransactionId"`     // 交易流水号
	DepositAmount     string   `xml:"DepositAmount"`     // 预交金金额
	PatientMaterialNo string   `xml:"PatientMaterialNo"` // 病案号
}

type Resp3016 struct {
	XMLName       xml.Name `xml:"Response" json:"-"` // 交易代码
	ResultCode    string   `xml:"ResultCode" `
	ResultContent string   `xml:"ResultContent"`
}

type PatInfo struct {
	XMLName     xml.Name `xml:"PatInfo" json:"-"`
	PatientID   string   `xml:"PatientID" json:"patient_id"`
	PatientName string   `xml:"PatientName" json:"patient_name"`
	Sex         string   `xml:"Sex" json:"sex"`
	SexCode     string   `xml:"SexCode" json:"sex_code"`
	DOB         string   `xml:"DOB" json:"dob"`
	TelephoneNo string   `xml:"TelephoneNo" json:"telephone_no"`
	Mobile      string   `xml:"Mobile" json:"mobile"`
	Address     string   `xml:"Address" json:"address"`
	IDTypeCode  string   `xml:"IDTypeCode" json:"id_type_code"`
	IDNo        string   `xml:"IDNo" json:"id_no"`
	AccInfo     string   `xml:"AccInfo" json:"acc_info"`
	PatientCard string   `xml:"PatientCard" json:"patient_card"`
	YBFlag      string   `xml:"YBFlag" json:"yb_flag"`
	PatType     string   `xml:"PatType" json:"pat_type"`
	PatTypeCode string   `xml:"PatTypeCode" json:"pat_type_code"`
}

type Resp3300 struct {
	XMLName       xml.Name  `xml:"Response" json:"-"`
	ResultCode    string    `xml:"ResultCode" json:"result_code"` // 交易结果 0：成功； 非0：错误
	ResultContent string    `xml:"ResultContent" json:"result_content"`
	PatInfos      []PatInfo `xml:"PatInfos>PatInfo" json:"pat_infos"`
}

type AdmItem struct {
	XMLName   xml.Name `xml:"AdmItem" json:"-"`
	Adm       string   `xml:"Adm" json:"adm"`              // 就诊号
	AdmDate   string   `xml:"AdmDate" json:"adm_date"`     // 就诊日期（yyyy-mm-dd）
	AdmTime   string   `xml:"AdmTime" json:"adm_time"`     // 就诊时间（hh:mm:ss）
	AdmDept   string   `xml:"AdmDept" json:"adm_dept"`     // 就诊科室
	AdmDoctor string   `xml:"AdmDoctor" json:"adm_doctor"` // 就诊医生
	AdmAmt    string   `xml:"AdmAmt" json:"adm_amt"`       // 未缴费金额
}

type Resp4902 struct {
	XMLName    xml.Name  `xml:"Response" json:"-"`
	ResultCode string    `xml:"ResultCode" json:"result_code"` // 交易结果 0：成功； 非0：错误
	ResultMsg  string    `xml:"ResultMsg" json:"result_msg"`   // 结果描述
	AdmList    []AdmItem `xml:"AdmList>AdmItem" json:"adm_list"`
}

type Item struct {
	XMLName      xml.Name `xml:"Item" json:"-"`                     // 结算单项目明细
	ItemCode     string   `xml:"ItemCode" json:"item_code"`         // 项目代码
	ItemName     string   `xml:"ItemName" json:"item_name"`         // 项目名称
	ItemCategory string   `xml:"ItemCategory" json:"item_category"` // 项目分类
	ItemRecDept  string   `xml:"ItemRecDept" json:"item_rec_dept"`  // 项目接收科室
	ItemPrice    string   `xml:"ItemPrice" json:"item_price"`       // 项目单价
	ItemQty      string   `xml:"ItemQty" json:"item_qty"`           // 项目数量
	ItemSum      string   `xml:"ItemSum" json:"item_sum"`           // 项目总费用
	ItemUom      string   `xml:"ItemUom" json:"item_uom"`           // 项目单位
	ItemSpecs    string   `xml:"ItemSpecs" json:"item_specs"`       // 项目规格
}

type PayOrder struct {
	XMLName       xml.Name `xml:"PayOrder" json:"-"`                    // 单个结算单
	OrderNo       string   `xml:"OrderNo" json:"order_no"`              // 结算单号（唯一）
	OrderSum      string   `xml:"OrderSum" json:"order_sum"`            // 结算单总额
	OrderInsuFlag string   `xml:"OrderInsuFlag" json:"order_insu_flag"` // 医保分解标志（Y医保N非医保）
	OrdInsuData   string   `xml:"OrdInsuData" json:"ord_insu_data"`     // 结算单医保分解信息
	OrderInsType  string   `xml:"OrderInsType" json:"order_ins_type"`   // 费别描述
	ItemList      []Item   `xml:"ItemList>Item" json:"item_list"`       // 结算单项目集合
}

type Resp4904 struct {
	XMLName     xml.Name   `xml:"Response" json:"-"`
	ResultCode  string     `xml:"ResultCode" json:"result_code"`           // 交易结果 0：成功； 非0：错误
	ResultMsg   string     `xml:"ResultMsg" json:"result_msg"`             // 结果描述
	PayOrdCount string     `xml:"PayOrdCount" json:"pay_ord_count"`        // 结算单数量
	PayOrdList  []PayOrder `xml:"PayOrdList>PayOrder" json:"pay_ord_list"` // 结算单列表集合
}

type OrdItem struct {
	PBOOEORIDR     string `xml:"PBOOEORIDR" json:"pbooeoridr"`
	PBOARCIMDR     string `xml:"PBOARCIMDR" json:"pboarcimdr"`
	ARCIMDesc      string `xml:"ARCIMDesc" json:"arcim_desc"`
	PBOBillQty     string `xml:"PBOBillQty" json:"pbo_bill_qty"`
	PBOToTalAmount string `xml:"PBOToTalAmount" json:"pbo_to_tal_amount"`
}

type Record struct {
	XMLName      xml.Name  `xml:"Record" json:"-"`                    // 单次缴费票据明细
	OrderNo      string    `xml:"OrderNo" json:"order_no"`            // 缴费订单号
	InvoiceNo    string    `xml:"InvoiceNo" json:"invoice_no"`        // 票据流水号
	InvDate      string    `xml:"InvDate" json:"inv_date"`            // 消费日期(yyyy-mm-dd)
	InvTime      string    `xml:"InvTime" json:"inv_time"`            // 消费时间(hh:mm:ss)
	TotalAmt     string    `xml:"TotalAmt" json:"total_amt"`          // 票据总金额
	InsuShareAmt string    `xml:"InsuShareAmt" json:"insu_share_amt"` // 医保垫付金额
	PatShareAmt  string    `xml:"PatShareAmt" json:"pat_share_amt"`   // 患者自付金额
	PayModeInfo  string    `xml:"PayModeInfo" json:"pay_mode_info"`   // 支付方式信息
	PrintFlag    string    `xml:"PrintFlag" json:"print_flag"`        // 发票打印标志（Y已打印N未打印）
	PrtInvNo     string    `xml:"PrtInvNo" json:"prt_inv_no"`         // 打印发票号
	AdmDate      string    `xml:"AdmDate" json:"adm_date"`            // 就诊日期(yyyy-mm-dd)
	AdmTime      string    `xml:"AdmTime" json:"adm_time"`            // 就诊时间(hh:mm:ss)
	AdmDept      string    `xml:"AdmDept" json:"adm_dept"`            // 就诊科室
	AdmDoctor    string    `xml:"AdmDoctor" json:"adm_doctor"`        // 就诊医生
	RecDept      string    `xml:"RecDept" json:"rec_dept"`
	OrdItemList  []OrdItem `xml:"OrdItemList>OrdItem" json:"ord_item_list"`
}

type Resp4907 struct {
	XMLName     xml.Name `xml:"Response" json:"-"`
	ResultCode  string   `xml:"ResultCode" json:"result_code"`        // 交易结果 0：成功； 非0：错误
	ResultMsg   string   `xml:"ResultMsg" json:"result_msg"`          // 结果描述
	RecordCount string   `xml:"RecordCount" json:"record_count"`      // 票据记录数
	RecordList  []Record `xml:"RecordList>Record" json:"record_list"` // 已缴费票据记录列表集合
}

type Invoice struct {
	XMLName     xml.Name `xml:"Invoice" json:"-"`                 // 单张票据
	InvoiceNo   string   `xml:"InvoiceNo" json:"invoice_no"`      // 票据唯一流水号
	InvoiceAmt  string   `xml:"InvoiceAmt" json:"invoice_amt"`    // 票据金额
	InsuFlag    string   `xml:"InsuFlag" json:"insu_flag"`        // 调用医保标志（Y调用,N不调用）
	OutInsuInfo string   `xml:"OutInsuInfo" json:"out_insu_info"` // 第三方医保分解上传明细 预结算后调用医保模式
	HISInsuInfo string   `xml:"HISInsuInfo" json:"his_insu_info"` //HIS动态库医保分解参数(& strInvprtDr & UserId & ExpStr) 预结算后调用医保模式
}

type Resp4905 struct {
	XMLName     xml.Name  `xml:"Response" json:"-"`
	ResultCode  string    `xml:"ResultCode" json:"result_code"` // 交易结果 0：成功； 非0：错误
	ResultMsg   string    `xml:"ResultMsg" json:"result_msg"`   // 结果描述
	InvoiceList []Invoice `xml:"InvoiceList>Invoice" json:"invoice_list"`
}

type Resp4906 struct {
	XMLName    xml.Name `xml:"Response" json:"-"`
	ResultCode string   `xml:"ResultCode" json:"result_code"` // 交易结果 0：成功； 非0：错误
	ResultMsg  string   `xml:"ResultMsg" json:"result_msg"`   // 结果描述
}

type Item4908 struct {
	XMLName      xml.Name `xml:"Item" json:"-"`                     // 结算单项目明细
	ItemCode     string   `xml:"ItemCode" json:"item_code"`         // 项目代码
	ItemName     string   `xml:"ItemName" json:"item_name"`         // 项目名称
	ItemCategory string   `xml:"ItemCategory" json:"item_category"` // 项目分类
	ItemRecDept  string   `xml:"ItemRecDept" json:"item_rec_dept"`  // 项目接收科室
	ItemPrice    string   `xml:"ItemPrice" json:"item_price"`       // 项目单价
	ItemQty      string   `xml:"ItemQty" json:"item_qty"`           // 项目数量
	ItemSum      string   `xml:"ItemSum" json:"item_sum"`           // 项目总费用
	ItemUom      string   `xml:"ItemUom" json:"item_uom"`           // 项目单位
	ItemSpecs    string   `xml:"ItemSpecs" json:"item_specs"`       // 项目规格
}

type Record4908 struct {
	XMLName      xml.Name   `xml:"Record" json:"-"`                    // 单张票据
	InvoiceNo    string     `xml:"InvoiceNo" json:"invoice_no"`        // 票据流水号
	InvDate      string     `xml:"InvDate" json:"inv_date"`            // 消费日期(yyyy-mm-dd)
	InvTime      string     `xml:"InvTime" json:"inv_time"`            // 消费时间(hh:mm:ss)
	DurgWin      string     `xml:"DurgWin" json:"durg_win"`            // 发药窗口
	TotalAmt     string     `xml:"TotalAmt" json:"total_amt"`          // 票据总金额
	InsuShareAmt string     `xml:"InsuShareAmt" json:"insu_share_amt"` // 医保垫付金额
	PatShareAmt  string     `xml:"PatShareAmt" json:"pat_share_amt"`   // 患者自付金额
	PayModeInfo  string     `xml:"PayModeInfo" json:"pay_mode_info"`   // 支付方式信息
	PrintFlag    string     `xml:"PrintFlag" json:"print_flag"`        // 发票打印标志（Y已打印N未打印）
	PrtInvNo     string     `xml:"PrtInvNo" json:"prt_inv_no"`         // 打印发票号
	AdmDate      string     `xml:"AdmDate" json:"adm_date"`            // 就诊日期(yyyy-mm-dd)
	AdmTime      string     `xml:"AdmTime" json:"adm_time"`            // 就诊时间(hh:mm:ss)
	AdmDept      string     `xml:"AdmDept" json:"adm_dept"`            // 就诊科室
	AdmDoctor    string     `xml:"AdmDoctor" json:"adm_doctor"`        // 就诊医生
	ItemList     []Item4908 `xml:"ItemList>Item" json:"item_list"`     // 结算单项目集合
}

type Resp4908 struct {
	XMLName     xml.Name     `xml:"Response" json:"-"`
	ResultCode  string       `xml:"ResultCode" json:"result_code"`   // 交易结果 0：成功； 非0：错误
	ResultMsg   string       `xml:"ResultMsg" json:"result_msg"`     // 结果描述
	RecordCount string       `xml:"RecordCount" json:"record_count"` // 票据记录数
	RecordList  []Record4908 `xml:"RecordList>Record" json:"record_list"`
}

type Resp4910 struct {
	XMLName    xml.Name `xml:"Response" json:"-"`
	ResultCode string   `xml:"ResultCode" json:"result_code"` // 交易结果 0：成功； 非0：错误
	ResultMsg  string   `xml:"ResultMsg" json:"result_msg"`   // 结果描述
}

type AdmInfo struct {
	XMLName        xml.Name `xml:"AdmInfo" json:"-"` // 单张票据
	AdmID          string   `xml:"AdmID" json:"adm_id"`
	AdmDate        string   `xml:"AdmDate" json:"adm_date"`
	AdmDept        string   `xml:"AdmDept" json:"adm_dept"`
	BillNo         string   `xml:"BillNo" json:"bill_no"`
	AdmReason      string   `xml:"AdmReason" json:"adm_reason"`
	NationalCode   string   `xml:"NationalCode" json:"national_code"`
	TotalAmount    string   `xml:"TotalAmount" json:"total_amount"`
	DepositAmount  string   `xml:"DepositAmount" json:"deposit_amount"`
	DepositBalance string   `xml:"DepositBalance" json:"deposit_balance"`
}

type Resp5001 struct {
	XMLName     xml.Name  `xml:"Response" json:"-"`
	ResultCode  string    `xml:"ResultCode" json:"result_code"`
	ResultMsg   string    `xml:"ResultMsg" json:"result_msg"`
	PatientID   string    `xml:"PatientID" json:"patient_id"`
	PatientName string    `xml:"PatientName" json:"patient_name"`
	Sex         string    `xml:"Sex" json:"sex"`
	Dob         string    `xml:"DOB" json:"dob"`
	Medical     string    `xml:"Medical" json:"medical"`
	CredType    string    `xml:"CredType" json:"cred_type"`
	CredNo      string    `xml:"CredNo" json:"cred_no"`
	AdmInfoList []AdmInfo `xml:"AdmInfoList>AdmInfo" json:"adm_info_list"`
	//Req         string    `json:"req"`
	//Resp        string    `json:"resp"`
}

type Resp5002 struct {
	XMLName        xml.Name `xml:"Response" json:"-"`
	ResultCode     string   `xml:"ResultCode" json:"result_code"`
	ResultMsg      string   `xml:"ResultMsg" json:"result_msg"`
	SerialNo       string   `xml:"SerialNo" json:"serial_no"`
	DepositAmount  string   `xml:"DepositAmount" json:"deposit_amount"`
	DepositBalance string   `xml:"DepositBalance" json:"deposit_balance"`
	IsNeedRefund   string   `xml:"IsNeedRefund" json:"is_need_refund"`
	//Req            string   `json:"req"`
	//Resp           string   `json:"resp"`
}

type Record5003 struct {
	XMLName     xml.Name `xml:"Record" json:"-"` // 单张票据
	PayDate     string   `xml:"PayDate" json:"pay_date"`
	PayTime     string   `xml:"PayTime" json:"pay_time"`
	PayAmout    string   `xml:"PayAmout" json:"pay_amout"`
	PayMode     string   `xml:"PayMode" json:"pay_mode"`
	PayFlag     string   `xml:"PayFlag" json:"pay_flag"`
	ReceiptNo   string   `xml:"ReceiptNo" json:"receipt_no"`
	PayUserCode string   `xml:"PayUserCode" json:"pay_user_code"`
	PayUserName string   `xml:"PayUserName" json:"pay_user_name"`
	PayDept     string   `xml:"PayDept" json:"pay_dept"`
	PayWard     string   `xml:"PayWard" json:"pay_ward"`
	Remark      string   `xml:"Remark" json:"remark"`
}

type Resp5003 struct {
	XMLName     xml.Name     `xml:"Response" json:"-"`
	ResultCode  string       `xml:"ResultCode" json:"result_code"`   // 交易结果 0：成功； 非0：错误
	ResultMsg   string       `xml:"ResultMsg" json:"result_msg"`     // 结果描述
	RecordCount string       `xml:"RecordCount" json:"record_count"` // 票据记录数
	RecordList  []Record5003 `xml:"RecordList>Record" json:"record_list"`
	//Req         string       `json:"req"`
	//Resp        string       `json:"resp"`
}

type TradeList struct {
	XMLName          xml.Name `xml:"TradeList" json:"-"` // 单张票据
	Index            string   `xml:"Index" json:"index"`
	HisTradeNo       string   `xml:"HISTradeNo" json:"his_trade_no"`
	HisTradeAmt      string   `xml:"HISTradeAmt" json:"his_trade_amt"`
	HisTradeDate     string   `xml:"HISTradeDate" json:"his_trade_date"`
	HisTradeTime     string   `xml:"HISTradeTime" json:"his_trade_time"`
	TradeNo          string   `xml:"TradeNo" json:"trade_no"`
	TradeAmt         string   `xml:"TradeAmt" json:"trade_amt"`
	PlatformNo       string   `xml:"PlatformNo" json:"platform_no"`
	TradeChannel     string   `xml:"TradeChannel" json:"trade_channel"`
	TradeType        string   `xml:"TradeType" json:"trade_type"`
	OldHisHisTradeNo string   `xml:"OldHISHISTradeNo" json:"old_his_his_trade_no"`
	TradeUser        string   `xml:"TradeUser" json:"trade_user"`
	PatNo            string   `xml:"PatNo" json:"pat_no"`
	PatName          string   `xml:"PatName" json:"pat_name"`
	HisTradeType     string   `xml:"HISTradeType" json:"his_trade_type"`
}

type Resp6001 struct {
	XMLName     xml.Name    `xml:"Response" json:"-"`
	ResultCode  string      `xml:"ResultCode" json:"result_code"`   // 交易结果 0：成功； 非0：错误
	ResultMsg   string      `xml:"ResultMsg" json:"result_msg"`     // 结果描述
	RecordCount string      `xml:"RecordCount" json:"record_count"` // 票据记录数
	TradeList   []TradeList `xml:"TradeLists>TradeList" json:"trade_list"`
}

type Resp10015 struct {
	XMLName          xml.Name `xml:"Response" json:"-"`
	TradeCode        string   `xml:"TradeCode" json:"trade_code"`
	ResultCode       string   `xml:"ResultCode" json:"result_code"`              // 交易结果 0：成功； 非0：错误
	ResultContent    string   `xml:"ResultContent" json:"result_content"`        // 对错误/异常的详细描述信息
	LockQueueNo      string   `xml:"LockQueueNo" json:"lock_queue_no"`           // 锁定的挂号序号
	ScheduleItemCode string   `xml:"ScheduleItemCode" json:"schedule_item_code"` // 门诊排班记录标识
	AdmDoc           string   `xml:"AdmDoc" json:"adm_doc"`                      // 门诊号别
	AdmDate          string   `xml:"AdmDate" json:"adm_date"`                    // 门诊日期
	AdmTime          string   `xml:"AdmTime" json:"adm_time"`                    // 门诊时间
	RegFee           string   `xml:"RegFee" json:"reg_fee"`                      // 挂号费用
	TransactionId    string   `xml:"TransactionId" json:"transaction_id"`        // 交易流水号
}

type Resp10016 struct {
	XMLName       xml.Name `xml:"Response" json:"-"`
	TradeCode     string   `xml:"TradeCode" json:"trade_code"`
	ResultCode    string   `xml:"ResultCode" json:"result_code"`       // 交易结果 0：成功； 非0：错误
	ResultContent string   `xml:"ResultContent" json:"result_content"` // 对错误/异常的详细描述信息
}

type TimeRange struct {
	XMLName           xml.Name `xml:"TimeRange" json:"-"`
	ScheduleItemCode  string   `xml:"ScheduleItemCode" json:"schedule_item_code"`   // 门诊排班项记录标识
	ServiceDate       string   `xml:"ServiceDate" json:"service_date"`              // 门诊排班日期
	WeekDay           string   `xml:"WeekDay" json:"week_day"`                      // 星期数(1-7)
	SessionCode       string   `xml:"SessionCode" json:"session_code"`              // 排班时段代码
	SessionName       string   `xml:"SessionName" json:"session_name"`              // 排班时段名称
	StartTime         string   `xml:"StartTime" json:"start_time"`                  // 开始时间
	EndTime           string   `xml:"EndTime" json:"end_time"`                      // 结束时间
	TimeRangeSeqNo    string   `xml:"TimeRangeSeqNo" json:"time_range_seq_no"`      // 分时号
	AvailableNumStr   string   `xml:"AvailableNumStr" json:"available_num_str"`     // 剩余号信息串
	AvailableTotalNum string   `xml:"AvailableTotalNum" json:"available_total_num"` // 该时段可预约的总号源数
	AvailableLeftNum  string   `xml:"AvailableLeftNum" json:"available_left_num"`   // 该时段剩余号源数
}

type Resp10041 struct {
	XMLName       xml.Name    `xml:"Response" json:"-"`
	ResultCode    string      `xml:"ResultCode" json:"result_code"`       // 交易结果 0：成功； 非0：错误
	ResultContent string      `xml:"ResultContent" json:"result_content"` // 对错误/异常的详细描述信息
	RecordCount   string      `xml:"RecordCount" json:"record_count"`     // 记录数量
	TimeRanges    []TimeRange `xml:"TimeRanges>TimeRange" json:"time_ranges"`
}

type FeeAdmInfo struct {
	XMLName                    xml.Name `xml:"AdmInfo" json:"-"` // 单张票据
	ApptMethod                 string   `xml:"ApptMethod" json:"appt_method"`
	ApptDate                   string   `xml:"ApptDate" json:"appt_date"`
	ApptTime                   string   `xml:"ApptTime" json:"appt_time"`
	LocRowId                   string   `xml:"LocRowId" json:"loc_row_id"`
	LocCode                    string   `xml:"LocCode" json:"loc_code"`
	LocName                    string   `xml:"LocName" json:"loc_name"`
	Address                    string   `xml:"Address" json:"address"`
	AdmNo                      string   `xml:"AdmNo" json:"adm_no"`
	AdmIOPNum                  string   `xml:"AdmIOPNum" json:"adm_iop_num"`
	DocumentID                 string   `xml:"DocumentID" json:"document_id"`
	HospRowId                  string   `xml:"HospRowId" json:"hosp_row_id"`
	HospCode                   string   `xml:"HospCode" json:"hosp_code"`
	CDGW                       string   `xml:"CDGW" json:"cdgw"`
	HospName                   string   `xml:"HospName" json:"hosp_name"`
	AdmStatusCodeAdmStatusCode string   `xml:"AdmStatusCode" json:"adm_status_code_adm_status_code"`
	AdmStatusDesc              string   `xml:"AdmStatusDesc" json:"adm_status_desc"`
	AdmTypeCode                string   `xml:"AdmTypeCode" json:"adm_type_code"`
	AdmTypeDesc                string   `xml:"AdmTypeDesc" json:"adm_type_desc"`
	FeeTypeRowID               string   `xml:"FeeTypeRowID" json:"fee_type_row_id"`
	FeeTypeCode                string   `xml:"FeeTypeCode" json:"fee_type_code"`
	CZZG                       string   `xml:"CZZG" json:"czzg"`
	FeeTypeDesc                string   `xml:"FeeTypeDesc" json:"fee_type_desc"`
	AdmDate                    string   `xml:"AdmDate" json:"adm_date"`
	AdmTime                    string   `xml:"AdmTime" json:"adm_time"`
	InBedDate                  string   `xml:"InBedDate" json:"in_bed_date"`
	InBedTime                  string   `xml:"InBedTime" json:"in_bed_time""`
	AdmDoctorRowID             string   `xml:"AdmDoctorRowID" json:"adm_doctor_row_id"`
	AdmDocCode                 string   `xml:"AdmDocCode" json:"adm_doc_code"`
	AdmDoctorDesc              string   `xml:"AdmDoctorDesc" json:"adm_doctor_desc"`
	VisitNum                   string   `xml:"VisitNum" json:"visit_num"`
	ResidentDays               string   `xml:"ResidentDays" json:"resident_days"`
	DisDateNurse               string   `xml:"DisDateNurse" json:"dis_date_nurse"`
	DisTimeNurse               string   `xml:"DisTimeNurse" json:"dis_time_nurse"`
	DisDateDoctor              string   `xml:"DisDateDoctor" json:"dis_date_doctor"`
	DisTimeDoctor              string   `xml:"DisTimeDoctor" json:"dis_time_doctor"`
	AdmWardRowID               string   `xml:"AdmWardRowID" json:"adm_ward_row_id"`
	AdmWardCode                string   `xml:"AdmWardCode" json:"adm_ward_code"`
	AdmWardDesc                string   `xml:"AdmWardDesc" json:"adm_ward_desc"`
	AdmRoomRowID               string   `xml:"AdmRoomRowID" json:"adm_room_row_id"`
	AdmRoomCode                string   `xml:"AdmRoomCode" json:"adm_room_code"`
	AdmRoomDesc                string   `xml:"AdmRoomDesc" json:"adm_room_desc"`
	AdmBedRowID                string   `xml:"AdmBedRowID" json:"adm_bed_row_id"`
	AdmBedNo                   string   `xml:"AdmBedNo" json:"adm_bed_no"`
	CurrentLocRowID            string   `xml:"CurrentLocRowIDs" json:"current_loc_row_id"`
	CurrentLocCode             string   `xml:"CurrentLocCode" json:"current_loc_code"`
	CurrentLocDesc             string   `xml:"CurrentLocDesc" json:"current_loc_desc"`
	CurrentWardRowID           string   `xml:"CurrentWardRowID" json:"current_ward_row_id"`
	CurrentWardCode            string   `xml:"CurrentWardCode" json:"current_ward_code"`
	CurrentWardDesc            string   `xml:"CurrentWardDesc" json:"current_ward_desc"`
	CurrentRoomRowID           string   `xml:"CurrentRoomRowID" json:"current_room_row_id"`
	CurrentRoomCode            string   `xml:"CurrentRoomCode" json:"current_room_code"`
	CurrentRoomDesc            string   `xml:"CurrentRoomDesc" json:"current_room_desc"`
	CurrentBedRowID            string   `xml:"CurrentBedRowID" json:"current_bed_row_id"`
	CurrentBedNo               string   `xml:"CurrentBedNo" json:"current_bed_no"`
	TotalFee                   string   `xml:"TotalFee" json:"total_fee"`
	BillFee                    string   `xml:"BillFee" json:"bill_fee"`
	ZFBillFee                  string   `xml:"ZFBillFee" json:"zf_bill_fee"`
	PrepaidFee                 string   `xml:"PrepaidFee" json:"prepaid_fee"`
	BillFlag                   string   `xml:"BillFlag" json:"bill_flag"`
	MainNurse                  string   `xml:"MainNurse" json:"main_nurse"`
	InDiagnosis                string   `xml:"InDiagnosis" json:"in_diagnosis"`
	NurLevel                   string   `xml:"NurLevel" json:"nur_level"`
	InCurLocDate               string   `xml:"InCurLocDate" json:"in_cur_loc_date"`
	InCurLocTime               string   `xml:"InCurLocTime" json:"in_cur_loc_time"`
	PatientNo                  string   `xml:"PatientNo" json:"patient_no"`
	PatientName                string   `xml:"PatientName" json:"patient_name"`
	SexCode                    string   `xml:"SexCode" json:"sex_code"`
	SexDesc                    string   `xml:"SexDesc" json:"sex_desc"`
	TimeRange                  string   `xml:"TimeRange" json:"time_range"`
}
type FeeData struct {
	//XMLName  xml.Name `xml:"Data" json:"data"`
	AdmInfo []FeeAdmInfo `xml:"AdmInfo" json:"adm_info"`
}

type Resp11003 struct {
	XMLName    xml.Name `xml:"Response" json:"-"`
	ResultCode string   `xml:"ResultCode" json:"result_code"` // 交易结果 0：成功； 非0：错误
	ResultMsg  string   `xml:"ResultMsg" json:"result_msg"`
	Data       FeeData  `xml:"Data" json:"data"`            // 数据
	DataCount  string   `xml:"DataCount" json:"data_count"` // 记录数量
	RowId      string   `xml:"RowId" json:"row_id"`
}

type TarInfo struct {
	XMLName      xml.Name `xml:"TarInfo" json:"-"`
	TarCatDesc   string   `xml:"TarCatDesc" json:"tar_cat_desc"`
	TarICCatCode string   `xml:"TarICCatCode" json:"tar_ic_cat_code"`
	TarICCatDesc string   `xml:"TarICCatDesc" json:"tar_ic_cat_desc"`
	TarCatCode   string   `xml:"TarCatCode" json:"tar_cat_code"`
	TarCatType   string   `xml:"TarCatType" json:"tar_cat_type"`
	TarDesc      string   `xml:"TarDesc" json:"tar_desc"`
	TarCode      string   `xml:"TarCode" json:"tar_code"`
	TarUnit      string   `xml:"TarUnit" json:"tar_unit"`
	TarQty       string   `xml:"TarQty" json:"tar_qty"`
	TarPrice     string   `xml:"TarPrice" json:"tar_price"`
	TarAmount    string   `xml:"TarAmount" json:"tar_amount"`
}

type TarInfos struct {
	XMLName  xml.Name  `xml:"TarInfos" json:"-"`
	TarInfos []TarInfo `xml:"TarInfo" json:"tar_info"`
}

type OrderDetail struct {
	XMLName            xml.Name `xml:"OrderDetail" json:"-"`
	OrdCateDesc        string   `xml:"OrdCateDesc" json:"ord_cate_desc"`
	OrdCateCode        string   `xml:"OrdCateCode" json:"ord_cate_code"`
	OEORDDesc          string   `xml:"OEORDDesc" json:"oeord_desc"`
	Qty                string   `xml:"Qty" json:"qty"`
	MoneyUnit          string   `xml:"MoneyUnit" json:"money_unit"`
	Amount             string   `xml:"Amount" json:"amount"`
	OEORDLoc           string   `xml:"OEORDLoc" json:"oeord_loc"`
	OEORDLocCode       string   `xml:"OEORDLocCode" json:"oeord_loc_code"`
	OEORDRecLoc        string   `xml:"OEORDRecLoc" json:"oeord_rec_loc"`
	OEORDRecLocCode    string   `xml:"OEORDRecLocCode" json:"oeord_rec_loc_code"`
	OEORDRecLocAddress string   `xml:"OEORDRecLocAddress" json:"oeord_rec_loc_address"`
	OEORDDocCode       string   `xml:"OEORDDocCode" json:"oeord_doc_code"`
	OEORDDoc           string   `xml:"OEORDDoc" json:"oeord_doc"`
	OrderSttDate       string   `xml:"OrderSttDate" json:"order_stt_date"`
	OrderSttTime       string   `xml:"OrderSttTime" json:"order_stt_time"`
	OEOrdItemId        string   `xml:"OEOrdItemId" json:"oe_ord_item_id"`
	ArcmiRemark        string   `xml:"ArcmiRemark" json:"arcmi_remark"`
	RefundFlag         string   `json:"RefundFlag" json:"refund_flag"`
	TarInfos           TarInfos `xml:"TarInfos" json:"tar_infos"`
}

type FeeInfo struct {
	XMLName        xml.Name      `xml:"FeeInfo" json:"-"`
	OrderCat       string        `xml:"OrderCat" json:"order_cat"`
	OrderCatDesc   string        `xml:"OrderCatDesc" json:"order_cat_desc"`
	OrderCatAmount string        `xml:"OrderCatAmount" json:"order_cat_amount"`
	MoneyUnit      string        `xml:"MoneyUnit" json:"money_unit"`
	OrderDetail    []OrderDetail `xml:"OrderDetail" json:"order_detail"`
}

type ReportData struct {
	DocumentID    string `xml:"DocumentID" json:"document_id"`
	DocumentPath  string `xml:"DocumentPath" json:"document_path"`
	DocumentTitle string `xml:"DocumentTitle" json:"document_title"`
	DocumentType  string `xml:"DocumentType" json:"document_type"`
	UpdateDate    string `xml:"UpdateDate" json:"update_date"`
	UpdateTime    string `xml:"UpdateTime" json:"update_time"`
}

type Documents struct {
	Document []Document `xml:"Document" json:"document"`
}
type Document struct {
	DocumentID    string `xml:"DocumentID" json:"document_id"`
	DocumentPath  string `xml:"DocumentPath" json:"document_path"`
	DocumentTitle string `xml:"DocumentTitle" json:"document_title"`
	DocumentType  string `xml:"DocumentType" json:"document_type"`
	UpdateDate    string `xml:"UpdateDate" json:"update_date"`
	UpdateTime    string `xml:"UpdateTime" json:"update_time"`
}

type DocumentRetrievalRp struct {
	DocumentRetrievalRp []Documents `xml:"Documents" json:"documents"`
}

type ReportBody struct {
	ResultCode          string                `xml:"ResultCode" json:"result_code"`       // 交易结果 0：成功； 非0：错误
	ResultContent       string                `xml:"ResultContent" json:"result_content"` // 结果描述
	DocumentRetrievalRp []DocumentRetrievalRp `xml:"DocumentRetrievalRp" json:"document_retrieval_rp"`
}

type RespReport struct {
	XMLName xml.Name   `xml:"Response" json:"-"`
	Body    ReportBody `xml:"Body" json:"body"`
}

type Data struct {
	XMLName xml.Name  `xml:"Data" json:"-"`
	FeeInfo []FeeInfo `xml:"FeeInfo" json:"fee_info"`
}

type Resp21001 struct {
	XMLName    xml.Name `xml:"Response" json:"-"`
	ResultCode string   `xml:"ResultCode" json:"result_code"` // 交易结果 0：成功； 非0：错误
	ResultMsg  string   `xml:"ResultMsg" json:"result_msg"`
	Data       Data     `xml:"Data" json:"data"`            // 对错误/异常的详细描述信息
	DataCount  string   `xml:"DataCount" json:"data_count"` // 记录数量
}

type Resp5010 struct {
	XMLName    xml.Name    `xml:"Response" json:"-"`
	ResultCode string      `xml:"ResultCode" json:"result_code"` // 交易结果 0：成功； 非0：错误
	ResultMsg  string      `xml:"ResultMsg" json:"result_msg"`   // 结果描述
	IPBook     string      `xml:"IPBook" json:"ip_book"`         // 票据记录数
	PatInfo    PatInfo5010 `xml:"PatInfo" json:"pat_info"`
	AdmInfo    AdmInfo5010 `xml:"AdmInfo" json:"adm_info"`
	Req        string      `json:"req"`
	Resp       string      `json:"resp"`
}

type AdmInfo5010 struct {
	XMLName     xml.Name `xml:"AdmInfo" json:"-"` // 单张票据
	AdmID       string   `xml:"AdmID" json:"adm_id"`
	AdmSearch   string   `xml:"AdmSearch" json:"adm_search"`
	AdmVisit    string   `xml:"AdmVisit" json:"adm_visit"`
	AdmDepDesc  string   `xml:"AdmDepDesc" json:"adm_dep_desc"`
	AdmWardDesc string   `xml:"AdmWardDesc" json:"adm_ward_desc"`
	BedDesc     string   `xml:"BedDesc" json:"bed_desc"`
	RoomDesc    string   `xml:"RoomDesc" json:"room_desc"`
	AdmDoc      string   `xml:"AdmDoc" json:"adm_doc"`
	AdmReason   string   `xml:"AdmReason" json:"adm_reason"`
	AdmEpis     string   `xml:"AdmEpis" json:"adm_epis"`
	AdmDate     string   `xml:"AdmDate" json:"adm_date"`
	AdmTime     string   `xml:"AdmTime" json:"adm_time"`
	UserName    string   `xml:"UserName" json:"user_name"`
	AdmRYQK     string   `xml:"AdmRYQK" json:"adm_ryqk"`
	Diagnos     string   `xml:"Diagnos" json:"diagnos"`
	Digtype     string   `xml:"Digtype" json:"digtype"`
	DiagnosDesc string   `xml:"DiagnosDesc" json:"diagnos_desc"`
	InsuDig     string   `xml:"InsuDig" json:"insu_dig"`
	RefDocList  string   `xml:"RefDocList" json:"ref_doc_list"`
}
type PatInfo5010 struct {
	XMLName     xml.Name `xml:"PatInfo" json:"-"` // 单张票据
	PatientID   string   `xml:"PatientID" json:"patient_id"`
	PatName     string   `xml:"PatName" json:"pat_name"`
	Medicare    string   `xml:"Medicare" json:"medicare"`
	Sex         string   `xml:"Sex" json:"sex"`
	PaperID     string   `xml:"PaperID" json:"paper_id"`
	BirthDate   string   `xml:"BirthDate" json:"birth_date"`
	PayUserCode string   `xml:"PayUserCode" json:"pay_user_code"`
	Age         string   `xml:"Age" json:"age"`
	MarDescID   string   `xml:"MarDescID" json:"mardesc_id"`
	RLGDescID   string   `xml:"RLGDescID" json:"rlg_desc_id"`
	Address     string   `xml:"Address" json:"address"`
	Company     string   `xml:"Company" json:"company"`
	HomeTel     string   `xml:"HomeTel" json:"home_tel"`
	WorkTel     string   `xml:"WorkTel" json:"work_tel"`
	ZipCode     string   `xml:"ZipCode" json:"zip_code"`
	Email       string   `xml:"Email" json:"email"`
	MobTel      string   `xml:"MobTel" json:"mob_tel"`
	ProvID      string   `xml:"ProvID" json:"prov_id"`
	CityID      string   `xml:"CityID" json:"city_id"`
	CityareaID  string   `xml:"CityareaID" json:"city_area_id"`
	SocSatID    string   `xml:"SocSatID" json:"soc_sat_id"`
	NationID    string   `xml:"NationID" json:"nation_id"`
	CardTypeID  string   `xml:"CardTypeID" json:"card_type_id"`
	GovCardNo   string   `xml:"GovCardNo" json:"gov_card_no"`
	CountryID   string   `xml:"CountryID" json:"country_id"`
	OccuID      string   `xml:"OccuID" json:"occu_id"`
	EduID       string   `xml:"EduID" json:"edu_id"`
	LanguID     string   `xml:"LanguID" json:"langu_id"`
	EmptypeID   string   `xml:"EmptypeID" json:"emptype_id"`
	BirProv     string   `xml:"BirProv" json:"bir_prov"`
	BirCity     string   `xml:"BirCity" json:"bir_city"`
	HomePlace   string   `xml:"HomePlace" json:"home_place"`
	CtrltID     string   `xml:"CtrltID" json:"ctrlt_id"`
	ForeignID   string   `xml:"ForeignID" json:"foreign_id"`
	FPhon       string   `xml:"FPhon" json:"fphon"`
	FAddress    string   `xml:"FAddress" json:"faddress"`
	FNotes      string   `xml:"FNotes" json:"fnotes"`
	AdmTimes    string   `xml:"AdmTimes" json:"adm_times"`
	Babybir     string   `xml:"babybir" json:"babybir"`
	Agehour     string   `xml:"agehour" json:"agehour"`
	AgeMinutes  string   `xml:"ageMinutes" json:"age_minutes"`
	HomeTown    string   `xml:"HomeTown" json:"home_town"`
	BorCounty   string   `xml:"BorCounty" json:"bor_county"`
	BorCity     string   `xml:"BorCity" json:"bor_city"`
	BorTown     string   `xml:"BorTown" json:"bor_town"`
}

type Resp5011 struct {
	XMLName    xml.Name `xml:"Response" json:"-"`
	ResultCode string   `xml:"ResultCode" json:"result_code"` // 交易结果 0：成功； 非0：错误
	ResultMsg  string   `xml:"ResultMsg" json:"result_msg"`   // 结果描述
	AdmID      string   `xml:"AdmID" json:"adm_id"`           // 票据记录数
	MedicareNo string   `xml:"MedicareNo" json:"medicare_no"`
	AdmDept    string   `xml:"AdmDept" json:"adm_dept"`
	AdmWard    string   `xml:"AdmWard" json:"adm_ward"`
}

type OperationRow struct {
	XMLName     xml.Name `xml:"Row" json:"-"`
	PatientId   string   `xml:"Patient_ID" json:"adm_no"`
	UserName    string   `xml:"UserName"  json:"user_name"`
	OpIndicator string   `xml:"Op_Indicator"  json:"op_indicator"`
	BranchAlias string   `xml:"Branch_Alias" json:"branch_alias"`
	BedRoom     string   `xml:"Bed_room" json:"bed_room"`
	BedMum      string   `xml:"Bed_num" json:"bed_mum"`
	OpDatetime  string   `xml:"Op_datetime" json:"op_datetime"`
	OPAId       string   `xml:"OPAId" json:"opa_id"`
	PatientNo   string   `xml:"Patient_No" json:"patient_no"`
}
type RespOperation struct {
	XMLName    xml.Name       `xml:"Response" json:"-"`
	ResultCode string         `xml:"ResultCode" json:"result_code"` // 交易结果 0：成功； 非0：错误
	ResultMsg  string         `xml:"ResultMsg" json:"result_msg"`
	Data       []OperationRow `xml:"Data>Row" json:"data"` // 数据
}

type FeeInfoDetail struct {
	XMLName       xml.Name `xml:"TarOCCateItem" json:"-"`
	TarOCCateDesc string   `json:"TarOCCateDesc"`
	TarOCCateCode string   `json:"TarOCCateCode"`
	TarOCCateAmt  string   `json:"TarOCCateAmt"`
}

type RespFeeDaily struct {
	XMLName     xml.Name        `xml:"Response" json:"-"`
	ResultCode  string          `xml:"ResultCode" json:"result_code"` // 交易结果 0：成功； 非0：错误
	ResultMsg   string          `xml:"ResultMsg" json:"result_msg"`   // 结果描述
	TotalAmout  string          `xml:"totalAmout" json:"total_amout"` // 票据记录数
	PrepayAmout string          `xml:"prepayAmout" json:"prepay_amout"`
	Unsettled   string          `xml:"unsettled" json:"unsettled"`
	BillAmout   string          `json:"billAmout"`
	feeInfo     []FeeInfoDetail `xml:"feeInfo>TarOCCateItem" json:"fee_info"`
}

type Resp32004 struct {
	ResultCode string `json:"resultCode"` // 交易结果 0：成功； 非0：错误
	ResultMsg  string `json:"resultMsg"`
	Data       struct {
		EpisodeID    string `json:"EpisodeID"`
		OrderLocCode string `json:"OrderLocCode"`
	} `json:"Data"`
	//EpisodeID string ` json:"EpisodeID"`

}

type Resp32010 struct {
	ResultCode string `json:"ResultCode"`
	ResultMsg  string `json:"ResultMsg"`
	Data       []struct {
		OEOrdItemID string `json:"OEOrdItemID"`
		ARCIMDesc   string `json:"ARCIMDesc"`
		ARCIMCode   string `json:"ARCIMCode"`
		ARCIMID     string `json:"ARCIMID"`
		PrescNo     string `json:"PrescNo"`
	} `json:"Data"`
	DataCount string `json:"DataCount"`
}

type RespBindBankCard struct {
	ResultCode string `json:"ResultCode"`
	ResultMsg  string `json:"ResultMsg"`
}

type RespQueryBank struct {
	ResultCode string `json:"ResultCode"`
	ResultMsg  string `json:"ResultMsg"`
	Data       []struct {
		PatientNo      string `json:"PatientNo"`
		PatientName    string `json:"PatientName"`
		BankCode       string `json:"BankCode"`
		BankName       string `json:"BankName"`
		BankCardNo     string `json:"BankCardNo"`
		BCPatientName  string `json:"BCPatientName"`
		ReservePhoneNo string `json:"ReservePhoneNo"`
		NoticePhoneNo  string `json:"NoticePhoneNo"`
		UserCode       string `json:"UserCode"`
		Status         string `json:"Status"`
	} `json:"Data"`
	DataCount string `json:"DataCount"`
}
